# Author:guoxier
# week07

# 回顾
names_str = "Alex,Marry,Jack"
names_list = ["Alex,Marry,Jack"]

print(names_str[0])
print(names_list[0])

print(names_str[0:4]) #字符串，我无法确定名字长度？用切片的复杂操作
print(names_list[0])  #用index索引的操作

# 本周重点： list的方法
# 思考：对于一个序列数据，我们可以做什么？
# 1.取值：切片
# 2.增加/新增数据，stu_网新一班 =[...]

names = ["Marry","Mike","Jan","Jack"]
# 2.1 append() 圆括号的内容是对象（比较大的一个范围，python中一切皆是对象）
#     ppend()新增在末尾
names.append("guoguo")
names.append("rongrong")
print(names)
# index索引
#2.2 insert()
#names.insert(1,"xixi") #列表也可出现重复项
#print(names)
# eg:
#names.insert(1,"guoguo")
#print(names)

# 3.删除
# 3.1remove()的操作应该先做查询，判断元素value是否存在
names.remove("Jack")
print(names)
 #先做查询：seq的一般方法（通用方法）
 #print("eee"in names) #False/True
 # username = input("names:")
 #if username in names:
 #   #删除用户
 # names.remove(username)




# 3.2 pop()在使用pop（）之前，要先了解list的长度，清楚删除的索引位置
# 要先了解list的长度，seq一般方法len（）
print(len(names))
print(names)
names.pop(2)  #pop为删除
print(names)
# 清楚深处的索引值
#print(names.index("Jan"))
# 案例：删除一些具有特征的索引值
#for i in range(0,len(names)-1,2):
  #  names.pop(i)
 #   print(names)



 ##列表的高级用法
 names_class1 = ["Mike","Mary","Jan","Jack"]
names_class2 = ["guoguo","xixi","rongrong","jiji"]
# 4.删除列表
# names.clear()
# print(names)

#5.合并列表 extend是有顺序的，（）里面的list排后面
# names_class2.extend(names_class1)
# print(names_class2)

# 6.copy()复制列表
#names_class1复制 = names_class1
#print(names_class1复制)
#names_class1.append("lele")
#print("names_class1:",names_class2)
#print("names_class1复制:",names_class1复制)



#用切片[:]实现copy（）方法
names_class1_源数据备份 = names_class1[:]
print(names_class1)
print(names_class1_源数据备份)
names_class1.append("lele")
print("names_class1:",names_class1)
print("names_class1_源数据备份:",names_class1_源数据备份)

stu_id = [95,97,90,90,97,88,90]
# 7.count()查看元素出现的次数/统计数量
print(stu_id.count(90))

# 8.sort()排序 从高到低，默认从低到高排序
stu_id.sort(reverse=True)
print(stu_id)

names_class1.sort()




##枚举

stu_id = [95,97,90,90,97,88,90]

# 删除97的值
# 方法1： remove  怎么删干净
#while True:
 #   if 97 in stu_id:
  #      stu_id.remove(97)
   # else:
    #    break
#print(stu_id)

# 方法2：pop()
#print(stu_id.index(97))
for index,item in enumerate(stu_id):
    print(index,item)
    if item == 97:
        stu_id.pop(index)
        print(stu_id)